#!/bin/bash
source tools/getenv.sh

# 这个文件只有sup会用到，里卖读取了配置，因为不读取的话会默认找到实际目录，重启就有问题

function getServerBinAllPathNumSup() {
    ps aux|grep -v "\.log"|grep -v tail|grep -v grep|grep -c "${SUPERVISOR_CURRENT_DIR}/${APP_BIN_NAME}"
}

while [[ true ]]; do
  if [[ "$env" == "dev" ]]; then
    echo "$env 环境没有守护进程，全靠手动维护"
    sleep 100
  elif [[ "$env" == "test" || "$env" == "prod" ]]; then
      #echo -e "$BOLD_WHITE 判断服务进程是否存在...$RESET"
      num=$(getServerBinAllPathNumSup)
      if [[ $num -eq 0 ]]; then
        echo -e "${RED}进程不存在，启动程序...$RESET"
        # 这个变量是读取了 Supervisor
        cd "${SUPERVISOR_CURRENT_DIR}" && nohup "${SUPERVISOR_CURRENT_DIR}/${APP_BIN_NAME}" &
      else
        echo -e "${GREEN}进程存在...$RESET"
      fi
  fi

  sleep 2
done
